/**
 * ajax
 * @author  fubangfu2015@163.com
 * @data    2020/11/25
 * --------------------------------------
 */
const app = getApp();

/**
 * POST请求
 * @param url       请求地址
 * @param data      请求数据
 * @param option    其他选项参数
 * @returns {Promise<{}>}
 */
export function postAjax(url, data = {}, option = {}) {
  return postRequest(url, data, option).then(res => {
    return res[0];
  });
}

/**
 * POST请求
 * @param url
 * @param data
 * @param option
 * @return {Promise<[{},{}]>}
 */
export function postRequest(url, data = {}, option = {}) {
  return new Promise((resolve, reject) => {
    const successCode = 'CODE' in option ? option.CODE : 200;
    wx.request({
      ...option,
      data,
      url : app.globalData.urls + url,
      method : 'POST',
      // 如果没有设置header默认设置一个
      header : option.header || app.getPostRequestHeader(),
      fail(res) {
        reject(res);
      },
      success(res) {
        if (Number(res.data.code) !== successCode) {
          return reject(res.data);
        }
        resolve([res.data.data, res]);
      }
    });
  });
}
